package com.boatAnchorAssistant.pojo.param.user;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.boatAnchorAssistant.pojo.param.ExpandDataParam;
import com.boatAnchorAssistant.pojo.valid.Phone;
import javax.validation.constraints.Email;

import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;

import java.math.BigDecimal;
import java.sql.Timestamp;
import java.time.*;
import java.util.List;


/**
* 【描 述】：
* 【环 境】：J2SE 17
* 【详 细】：
*
*/
@Data
public class CreateUserParam extends ExpandDataParam {

    /**
     * 头像
     */
    private String photo;

    /**
     * 用户名=账号
     */
    private String account;

    /**
    *  姓名
    */
    @NotBlank(message="姓名不能为空")
    @Length(max = 20,message = "姓名最大长度不能超过20")
    private String name;

    /**
    *  电话
    */
    @Phone
    @NotBlank(message="电话不能为空")
    private String phone;

    /**
    *  工号
    */
    @NotBlank(message="工号不能为空")
    private String number;

    /**
    *  所属部门id
    */
    @NotNull(message="所属部门id不能为空")
    private Long departmentId;

    /**
    *  邮箱
    */
    @Email
    @NotBlank(message="邮箱不能为空")
    @Length(max = 255,message = "邮箱最大长度不能超过255")
    private String email;

    /**
     * 是否启用
     */
    private Boolean enabled;

    /**
     * 管理区域id列表
     */
    private List<Long> areaIdList;

    /**
     * 用户管理权限：0-普通权限 1-中级权限 2-高级权限
     */
    private Integer authorizedType;

    /**
     * 角色id列表
     */
    private List<Long> roleIdList;

}